更多相關連結: https://linktr.ee/wade3c
開始前切記要把wsl給關掉, wsl --shutdown
Get-AppxPackage -Name "*Ubuntu*" | Select PackageFamilyName
像我這台電腦只有一個WSL的distro,所以會拿到
CanonicalGroupLimited.UbuntuonWindows_xxxxxxxx
再來要透過這個PackageFamilyName
去找出絕對路徑
%LOCALAPPDATA%\Packages
,然後尋找符合<PackageFamilyName>/LocalState
的資料夾,並到裡面去尋找.vhdx
的檔案在執行下面任一指令前都至少要呼叫過一次diskpart
diskpart
這步驟不是必備的,你也可以直接在distro內看到VHD的size
DISKPART> Select vdisk file="<pathToVHD>"
DISKPART> detail vdisk
這步驟必須要用admin權限啟動cmd/ power shell才行
DISKPART> Select vdisk file="<pathToVHD>"
DISKPART> expand vdisk maximum=<sizeInMegaBytes>
假設我們要從256G改成512G, 後面的size就要帶入512000
使用完diskpart要離開就
DISKPART> exit
要確定WSL2的Linux發行版有收到變更的指令就要在裡面下
sudo mount -t devtmpfs none /dev
mount | grep ext4
這時候系統會output你要mount的device路徑,我們以/dev/sdb
為例
sudo resize2fs /dev/sdb <sizeInMegabytes>M
一樣把要resize的值給帶入,成功的話會看到類似的output
Filesystem at /dev/sdb is mounted on /; on-line resizing required
old_desc_blocks = 32, new_desc_blocks = 38
The filesystem on /dev/sdb is now 78643200 (4k) blocks long.
Expand the size of your WSL 2 Virtual Hard Disk